/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package lista4;

import java.util.Calendar;



/**
 *
 * @author gustavokatel
 */
public abstract class Aluno {
    
    protected int mat;
    protected String nome;
    protected Calendar nasc;
    protected Disciplina[] disciplinas;
    
    protected int p;
    
    public Aluno(String nome, Calendar nascimento)
    {
        this.nome = nome;
        this.nasc = nascimento;
        
        disciplinas = new Disciplina[50];
        this.p = 0;
    }
    
    public int getMatricula()
    {
        return this.mat;
    }
    public void setMatricula(int matricula)
    {
        this.mat = matricula;
    }
    
    public String getNome()
    {
        return nome;
    }
    public void setNome(String nome)
    {
        this.nome = nome;
    }
    
    public Calendar getData()
    {
        return this.nasc;
    }
    public void setData(Calendar data)
    {
        this.nasc = data;
    }
            
    public boolean setDisciplinasCursadas(Disciplina d)
    {
        if(p>=this.disciplinas.length)
            return false;
        this.disciplinas[p] = d;
        p++;
        return true;
    }
    
    public Disciplina getDisciplinasCursadas(int n)
    {
        if(n>=this.disciplinas.length)
            return null;
        return this.disciplinas[n];
    }
    
    public abstract double CalcCRE();
    
    public String toString()
    {
        return "Matrícula: "+this.mat+" Nome: "+this.nome+" CRE: "+this.CalcCRE();
    }
    
}
